/*
 * @Author: chen haoxuan
 * @Date: 2021-05-27 08:27:40
 * @LastEditTime: 2021-05-27 08:42:24
 */
// 类型转换函数
/*
    c++ 提供类型转换函数 类型转换函数的作用是将一个类的对象转换成另一类型的数据。
    类型转换函数的一般形式为：
        operator 类型名()
        {实现转换的语句}
    在函数名前面不能指定数据类型，函数没有参数。其返回值类型由函数名中指定的类型名确定。类型转换函数只能作为成员函数，因为转换的主体是本类的对象。不能作为友元函数或普通函数
*/
#include<iostream>
using namespace std;
class Complex
{
    public:
        Complex(){real=0;imag=0;}
        Complex(double r,double i):real(r),imag(i){}
        operator double(){return real;}
    private:
        double real;
        double imag;
};
int main()
{
    Complex c1(3,4),c2(5,-10),c3;
    double d;
    d=2.5+c1;
    cout<<d<<endl;
    return 0;
}